/**
 * FamilyChain API 配置
 */

// 后端 API 基础地址
export const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8088/api'

// Web3 RPC 节点地址
export const WEB3_RPC_URL = import.meta.env.VITE_WEB3_RPC_URL || 'http://localhost:8545'

// 区块链网络 ID
export const NETWORK_ID = import.meta.env.VITE_NETWORK_ID || '20241214'

// IPFS 网关地址
export const IPFS_GATEWAY = import.meta.env.VITE_IPFS_GATEWAY || 'http://localhost:8081/ipfs/'

// 应用环境
export const APP_ENV = import.meta.env.VITE_APP_ENV || 'development'

// 是否为开发环境
export const IS_DEV = APP_ENV === 'development'

// 是否为生产环境
export const IS_PROD = APP_ENV === 'production'

// 请求超时时间（毫秒）
export const REQUEST_TIMEOUT = 30000

// 默认 Gas Price (Wei)
export const DEFAULT_GAS_PRICE = '20000000000'

// 默认 Gas Limit
export const DEFAULT_GAS_LIMIT = 6721975

// 轮询间隔（毫秒）
export const POLLING_INTERVAL = 3000

// 合约名称配置（用于获取 ABI）
export const CONTRACT_NAMES = {
  REGISTRY: import.meta.env.VITE_CONTRACT_NAME_REGISTRY || 'FamilyRegistryV2',
  GOVERNANCE: import.meta.env.VITE_CONTRACT_NAME_GOVERNANCE || 'FamilyGovernanceUpgradeable',
  NFT: import.meta.env.VITE_CONTRACT_NAME_NFT || 'FamilyNFTUpgradeable',
}

export default {
  API_BASE_URL,
  WEB3_RPC_URL,
  NETWORK_ID,
  IPFS_GATEWAY,
  APP_ENV,
  IS_DEV,
  IS_PROD,
  REQUEST_TIMEOUT,
  DEFAULT_GAS_PRICE,
  DEFAULT_GAS_LIMIT,
  POLLING_INTERVAL,
  CONTRACT_NAMES,
}

